package ch.four;

import java.util.Scanner;

public class ClassIfElseTest {
    public static void main( String[] args ) {
        //随机数计算中if_else的单分支判断练习
        RandomNumber();
        //Bmi计算，练习if_else多分支
        Bmi();
    }

    //随机数计算中if_else的单分支判断练习
    private static void RandomNumber() {
        /**产生随机数
         * Eg1减法计算
         *程序随机产生两个1位整数，且满足number1>number2,程序向学生展示问题，学生输入结果后进行判断，给出消息说明回答是否正确。
         * 生成0-9之间随机数   Math.random()
         * number1<number2时可以交换
         * 注意!!!Math.random()生成的是大于等于0小于1的一个double数字。
         */
        //初始化并产生随机数，保证数字大小顺序为1>2。
        int number1, number2, number3, result;
        //产生随机数，需要进行数字的放大平移。???不太懂。0-1==》0-10==》0-50==》
        number1 = ( int ) (Math.random() * (9 + 1));
        number2 = ( int ) (Math.random() * 10);
        //number1-number2
        if (number1 < number2) {
            int tmpnumber = number1;
            number1 = number2;
            number2 = tmpnumber;
        }

        System.out.println("请回答" + number1 + "-" + number2 + "等于几？");
        Scanner scanner1 = new Scanner(System.in);
        result = scanner1.nextInt();

        //判断学生回答是否正确，给出回复，答案是否正确，以及正确答案是什么。
        number3 = number1 - number2;
        if (result == number3) {
            System.out.println("结果正确，答案是" + result);
        } else {
            System.out.println("结果错误，正确答案是" + number3);
        }

        scanner1.close();
    }

    //Bmi计算，练习if_else多分支
    private static void Bmi() {
        /**
         以千克为单位的体重除以以米为单位的身高的平方，得到BMI的值。针对20岁及以上的人群，BMI值如表所示
         BMI             |      说明
         BMI<18.5        |      偏瘦
         18.5<=BMI<25.0  |      正常
         25.0<=BMI<30.0  |      超重
         30.0<=BMI       |      过胖

         编写程序，输入体重和升高，显示BMI值，并给出对应说明
         */

        //获取体重和身高
        Scanner scanner = new Scanner(System.in);
        double weight, height, BMI;
        System.out.println("请输入体重，单位KG：");
        weight = scanner.nextDouble();
        System.out.println("请输入身高，单位米：");
        height = scanner.nextDouble();

        //计算BMI
        BMI = weight / (height * height);
        if (BMI < 18.5) {
            System.out.println("您的BMI值为" + BMI + "BMI值过低，体型偏瘦");
        } else if (BMI >= 18.5 && BMI < 25.0) {
            System.out.println("您的BMI值为" + BMI + "BMI值正常，请保持");
        } else if (BMI >= 25.0 && BMI < 30.0) {
            System.out.println("您的BMI值为" + BMI + "BMI值过高，体型超重，请控制体重");
        } else if (BMI >= 30.0) {
            System.out.println("您的BMI值为" + BMI + "BMI值极高，建议前往医院进一步检查。");
        }

        scanner.close();
    }
}

